/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Application;
/**
 * Az interfész jelzi, hogy az osztály képes az alapműveletekre.
 * @author Stikmann
 */
public interface CheckResetSimulate{

    /**
     * Az elem vagy hálózat szimulálása.
     * @return True, ha változott az elem kimenete, false ha nem
     * @throws UnstableException ha instabilitás lép fel
     */
    public boolean simulate() throws UnstableException;

    /**
     * Alaphelyzetbe állítja az elemet vagy hálózatot. Például nullázza a kimenetét
     */
    public void reset();

    /**
     * Leellenőrzi az elem vagy hálózat kapcsolását
     * @return Null, ha nem talált hibát, hibaüzenet ha igen.
     */
    public String check();
}
